library(pixmap)
library(magrittr)
library(EBImage)
library(image.LineSegmentDetector)
library(image.ContourDetector)
library(image.CannyEdges)
setwd("~/Zellkraftwerk/packages/RJobTissueArea")
file <- file.path("inst/data","data_sum_M1730408_pos11.csv")
data.sum <- file%>%
data.table::fread()
m.data_sum <- data.sum%>%
as.matrix()
#cellres: pixel resolution in horizontal and vertical direction
image <-pixmapGrey(m.data_sum,cellres=c(1,1))
plot(image)
grid <- expand.grid(sigma = c(1,2,3,4,5,10,100),
offset = c(100,10,1,0,0.01,0.001,0.0001,0.00001,0.000001,0.0000001))
img2 <- image@grey * 255
# Set up plots for 96 dpi images
#library(EBImage)
#dm <- dim(img2)/96
#dev.new(width = dm[1], height = dm[2])
# Low pass filter with gblur and make binary
for(i in 1:dim(grid)[1]){
writeLines(c(
paste0("- sigma: ",grid$sigma[i]),
paste0("- offset: ", grid$offset[i])
))
#Low-pass Gaussian filter
xb <- EBImage::gblur(img2, grid$sigma[i])
plot(xb)
image2 <- pixmapGrey(xb,cellres=c(1,1)) #(xb-min(xb))/(max(xb)-min(xb))
plot(image2)
xt <- EBImage::thresh(xb, offset = grid$offset[i])
plot(xt)
image3 <- image
image3@grey <- xt
plot(image3)
}
## - sigma: 1
## - offset: 100
## - sigma: 2
## - offset: 100
## - sigma: 3
## - offset: 100
## - sigma: 4
## - offset: 100
## - sigma: 5
## - offset: 100
## - sigma: 10
## - offset: 100
## - sigma: 100
## - offset: 100
## - sigma: 1
## - offset: 10
## - sigma: 2
## - offset: 10
## - sigma: 3
## - offset: 10
## - sigma: 4
## - offset: 10
## - sigma: 5
## - offset: 10
## - sigma: 10
## - offset: 10
## - sigma: 100
## - offset: 10
## - sigma: 1
## - offset: 1
## - sigma: 2
## - offset: 1
## - sigma: 3
## - offset: 1
## - sigma: 4
## - offset: 1
## - sigma: 5
## - offset: 1
## - sigma: 10
## - offset: 1
## - sigma: 100
## - offset: 1
## - sigma: 1
## - offset: 0
## - sigma: 2
## - offset: 0
## - sigma: 3
## - offset: 0
## - sigma: 4
## - offset: 0
## - sigma: 5
## - offset: 0
## - sigma: 10
## - offset: 0
## - sigma: 100
## - offset: 0
## - sigma: 1
## - offset: 0.01
## - sigma: 2
## - offset: 0.01
## - sigma: 3
## - offset: 0.01
## - sigma: 4
## - offset: 0.01
## - sigma: 5
## - offset: 0.01
## - sigma: 10
## - offset: 0.01
## - sigma: 100
## - offset: 0.01
## - sigma: 1
## - offset: 0.001
## - sigma: 2
## - offset: 0.001
## - sigma: 3
## - offset: 0.001
## - sigma: 4
## - offset: 0.001
## - sigma: 5
## - offset: 0.001
## - sigma: 10
## - offset: 0.001
## - sigma: 100
## - offset: 0.001
## - sigma: 1
## - offset: 1e-04
## - sigma: 2
## - offset: 1e-04
## - sigma: 3
## - offset: 1e-04
## - sigma: 4
## - offset: 1e-04
## - sigma: 5
## - offset: 1e-04
## - sigma: 10
## - offset: 1e-04
## - sigma: 100
## - offset: 1e-04
## - sigma: 1
## - offset: 1e-05
## - sigma: 2
## - offset: 1e-05
## - sigma: 3
## - offset: 1e-05
## - sigma: 4
## - offset: 1e-05
## - sigma: 5
## - offset: 1e-05
## - sigma: 10
## - offset: 1e-05
## - sigma: 100
## - offset: 1e-05
## - sigma: 1
## - offset: 1e-06
## - sigma: 2
## - offset: 1e-06
## - sigma: 3
## - offset: 1e-06
## - sigma: 4
## - offset: 1e-06
## - sigma: 5
## - offset: 1e-06
## - sigma: 10
## - offset: 1e-06
## - sigma: 100
## - offset: 1e-06
## - sigma: 1
## - offset: 1e-07
## - sigma: 2
## - offset: 1e-07
## - sigma: 3
## - offset: 1e-07
## - sigma: 4
## - offset: 1e-07
## - sigma: 5
## - offset: 1e-07
## - sigma: 10
## - offset: 1e-07
## - sigma: 100
## - offset: 1e-07
x <- image@grey * 255
linesegments <- image_line_segment_detector(x,
scale = 0.8,
sigma_scale = 0.6,
quant = 2,
ang_th = 22.5,
log_eps = 0,
density_th = 0.7,
n_bins = 1024,
union = FALSE,
union_min_length = 5,
union_max_distance = 5,
union_ang_th = 7,
union_use_NFA = FALSE,
union_log_eps = 0)
linesegments
## Line Segment Detector
## found 162 line segments
plot(image)
plot(linesegments, add = TRUE, col = "red")
scale = 0.1
linesegments <- image_line_segment_detector(x,
scale = scale,
sigma_scale = 0.6,
quant = 2,
ang_th = 22.5,
log_eps = 0,
density_th = 0.7,
n_bins = 1024,
union = FALSE,
union_min_length = 5,
union_max_distance = 5,
union_ang_th = 7,
union_use_NFA = FALSE,
union_log_eps = 0)
linesegments
## Line Segment Detector
## found 7 line segments
plot(image)
plot(linesegments, add = TRUE, col = "red")
-default: 2 - no segments with quant 10 - quant 1: more detailed segments in tissue
quant = 1
linesegments <- image_line_segment_detector(x,
scale = 0.8,
sigma_scale = 0.6,
quant = quant,
ang_th = 22.5,
log_eps = 0,
density_th = 0.7,
n_bins = 1024,
union = FALSE,
union_min_length = 5,
union_max_distance = 5,
union_ang_th = 7,
union_use_NFA = FALSE,
union_log_eps = 0)
linesegments
## Line Segment Detector
## found 682 line segments
plot(image)
plot(linesegments, add = TRUE, col = "red")
quant = 3
linesegments <- image_line_segment_detector(x,
scale = 0.8,
sigma_scale = 0.6,
quant = quant,
ang_th = 22.5,
log_eps = 0,
density_th = 0.7,
n_bins = 1024,
union = FALSE,
union_min_length = 5,
union_max_distance = 5,
union_ang_th = 7,
union_use_NFA = FALSE,
union_log_eps = 0)
linesegments
## Line Segment Detector
## found 35 line segments
plot(image)
plot(linesegments, add = TRUE, col = "red")
ang_th <- 100
linesegments <- image_line_segment_detector(x,
scale = 0.8,
sigma_scale = 0.6,
quant = 2,
ang_th = ang_th,
log_eps = 0,
density_th = 0.7,
n_bins = 1024,
union = FALSE,
union_min_length = 5,
union_max_distance = 5,
union_ang_th = 7,
union_use_NFA = FALSE,
union_log_eps = 0)
linesegments
## Line Segment Detector
## found 609 line segments
plot(image)
plot(linesegments, add = TRUE, col = "red")
log_eps <- 10
linesegments <- image_line_segment_detector(x,
scale = 0.8,
sigma_scale = 0.6,
quant = 2,
ang_th = 22.5,
log_eps = log_eps,
density_th = 0.7,
n_bins = 1024,
union = FALSE,
union_min_length = 5,
union_max_distance = 5,
union_ang_th = 7,
union_use_NFA = FALSE,
union_log_eps = 0)
linesegments
## Line Segment Detector
## found 36 line segments
plot(image)
plot(linesegments, add = TRUE, col = "red")
library(pixmap)
library(magick)
imagelocation <- system.file("extdata", "chairs.pgm", package="image.LineSegmentDetector")
image <- read.pnm(file = imagelocation, cellres = 1)
x <- image@grey * 255
linesegments <- image_line_segment_detector(x,union=TRUE)
linesegments
plot(image)
plot(linesegments, add = TRUE, col = "red")
contourlines <- image_contour_detector(x, Q = 2)
contourlines
plot(image)
plot(contourlines, add = TRUE, col = "red")
edges <- image_canny_edge_detector(x)
edges
plot(edges)